#ifndef SUPERLOGLIBQT_H
#define SUPERLOGLIBQT_H

#include "superLogLibQt_global.h"
#include "commonDefine.h"

#include <iostream>

namespace SuperLogQt
{
	QT_FORWARD_DECLARE_CLASS(SpdlogLogger)
		QT_FORWARD_DECLARE_CLASS(LogFIlesManage)

		class SUPERLOGLIBQT_EXPORT SuperLogLibQt
	{
	public:
		SuperLogLibQt();

		bool init(const char* sLogName, const char* sLogPath, const char* sLoggerName, int iLogMaxNum = 31,
			bool isPrintToConsole = true, LogLevel logLevel = LEVEL_INFO);

		bool setLogLevel(LogLevel logLevel);
		bool logPrint(LogLevel logLevel, const char* sInput);

		const char* getLogVersion();

	private:
		static SpdlogLogger* m_superLogger;
		static LogFIlesManage* m_logFileManage;

		std::string                 m_sLogName;
		std::string                 m_sLogPath;

		int                         m_iLogMaxNum;
	};
}

#endif // SUPERLOGLIBQT_H
